package com.mi.common.log.constant.enums;

import java.util.Arrays;
import java.util.Objects;

import static com.mi.common.log.constant.LogConstants.SERVICE_ID_SYS;
import static com.mi.common.log.constant.LogConstants.SERVICE_ID_USER;

/**
 * 服务模块 Enum
 *
 * @author jin_huaquan
 * @version 1.0
 * @date 2022/1/7 14:11
 */
public enum ServiceIdEnum {

    /**
     * 系统管理
     */
    SYS(SERVICE_ID_SYS, "系统管理"),

    /**
     * 用户管理
     */
    USER(SERVICE_ID_USER, "用户管理");

    /**
     * 服务ID
     */
    private final String serviceId;

    /**
     * 服务描述
     */
    private final String desc;

    ServiceIdEnum(String serviceId, String desc) {
        this.serviceId = serviceId;
        this.desc = desc;
    }

    /**
     * 根据服务ID查询服务描述
     *
     * @param serviceId 服务ID
     * @return 服务描述
     */
    public static String getDesc(String serviceId) {
        return Arrays.stream(values())
                .filter(value -> Objects.equals(value.serviceId, serviceId))
                .findFirst()
                .orElse(SYS)
                .desc;
    }

    public String getServiceId() {
        return serviceId;
    }

    public String getDesc() {
        return desc;
    }
}
